package oop.analyzer.method;

import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;

import oop.data.DataStore;
import oop.data.RowData;

import javax.xml.crypto.Data;

public class CollectMethod {
	public Map<String, DataStore<RowData>> getMap(DataStore datas) {
		// LinkedHashMap,按插入顺序存储数据
		Map<String,DataStore<RowData>> dateMap = new LinkedHashMap<String,DataStore<RowData>>();
		
		Iterator<RowData> iterator = datas.getIterator();
		String date = "";
		DataStore<RowData> temp = new DataStore<>();//存储同一时间下数据
		while(iterator.hasNext()){	
			RowData next = iterator.next();
			//若是初始化
			if(date == "")
			{
				temp.add(next);
				date = next.getValue("Date");
				continue;
			}
			//若新到一个日期数据
			if( !next.getValue("Date").equals(date)){

				//将上一时间录入map,开始下一时间
				dateMap.put(date,temp);
				temp = new DataStore<>();
				date = next.getValue("Date"); 
				temp.add(next);
			}
			else{

				temp.add(next);
			}

		}

		return dateMap;
	}
}
